#ifndef __KEY_H
#define __KEY_H

#define KEY_ISR      1   // 对于按键是否使用中断按键置1   注：非中断按键无法实现阻塞的按钮功能，并且只能选择mode1
#define KEY_LED_SEM  0   // 对于按键是否使用信号量，不使用则默认使用事件集LOC(0,1,2)

#if KEY_ISR == 1
// 中断服务函数声明
void key1_isr(void *args);
void key2_isr(void *args);
void key3_isr(void *args);
#endif

#define KEY1        GET_PIN(A,0)   // 获得PA0(板载)的引脚编号    ！串口4使用PA0，所以板载按钮无法使用
#define KEY2        GET_PIN(A,4)   // 获得PB11的引脚编号
#define KEY3        GET_PIN(A,5)   // 获得PA5的引脚编号

#define KEY1_PRES   1              // KEY1按下
#define KEY2_PRES   2              // KEY2按下
#define KEY3_PRES   3              // KEY3按下

void Key_Init(void);               // 按键初始化
uint8_t KEY_Scan(uint8_t mode);    // 按键扫描

#endif
